package com.ruoyi.system.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

@Data
public class SysWorkPlanVo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 计划ID
     */
    private Long planId;

    /**
     * 项目ID，关联sys_project表
     */
    @Excel(name = "项目ID，关联sys_project表")
    private Long projectId;

    /**
     * 下周工作计划标题
     */
    @Excel(name = "作业计划内容")
    private String nextWeekPlan;

    /**
     * 实际作业时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实际作业时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date actualWorkTime;

    @Excel(name = "风险等级")
    private String riskLevel;

    @Excel(name = "项目所属类型")
    private String projectType;

    /** 累计工程量 */
    @Excel(name = "累计工程量")
    private String accumulateNum;
    private String accumulateNumRecord;

    /** 工程名称 */
    @Excel(name = "工程名称")
    private String projectName;

    /** 工程概况 */
    @Excel(name = "工程概况")
    private String projectDesc;

    /**
     * 完成情况
     */
    @Excel(name = "完成情况")
    private String completionStatus;


    public Long getPlanId() {
        return planId;
    }

    public void setPlanId(Long planId) {
        this.planId = planId;
    }

    public Long getProjectId() {
        return projectId;
    }

    public void setProjectId(Long projectId) {
        this.projectId = projectId;
    }

    public String getNextWeekPlan() {
        return nextWeekPlan;
    }

    public void setNextWeekPlan(String nextWeekPlan) {
        this.nextWeekPlan = nextWeekPlan;
    }

    public Date getActualWorkTime() {
        return actualWorkTime;
    }

    public void setActualWorkTime(Date actualWorkTime) {
        this.actualWorkTime = actualWorkTime;
    }

    public String getRiskLevel() {
        return riskLevel;
    }

    public void setRiskLevel(String riskLevel) {
        this.riskLevel = riskLevel;
    }

    public String getProjectType() {
        return projectType;
    }

    public void setProjectType(String projectType) {
        this.projectType = projectType;
    }

    public String getAccumulateNum() {
        return accumulateNum;
    }

    public void setAccumulateNum(String accumulateNum) {
        this.accumulateNum = accumulateNum;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public String getProjectDesc() {
        return projectDesc;
    }

    public void setProjectDesc(String projectDesc) {
        this.projectDesc = projectDesc;
    }

    public String getCompletionStatus() {
        return completionStatus;
    }

    public void setCompletionStatus(String completionStatus) {
        this.completionStatus = completionStatus;
    }
}
